﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.Data.SqlClient;

namespace splashScreen
{
    public partial class Tarefa : Form
    {

        SqlConnection conect = new SqlConnection("Data Source=localhost;Initial Catalog=PDSD;Persist Security Info=True;User ID=sa;Password=senha");
        public Tarefa()
        {
            InitializeComponent();
            ComboProjeto();
            ComboUsuario();
            
        }
            private void ComboProjeto(){
                ServiceReference1.Service1SoapClient x = new ServiceReference1.Service1SoapClient();

                comboBox1.DataSource = x.ComboTarefaProjeto();
                comboBox1.DisplayMember = "nomeProjeto";
                comboBox1.ValueMember = "id";
            
            }

            private void ComboUsuario() {
                ServiceReference1.Service1SoapClient x = new ServiceReference1.Service1SoapClient();

                comboBox2.DataSource = x.ComboTarefaUsuario();
                comboBox2.DisplayMember = "nome";
                comboBox2.ValueMember = "id";
            }

        private void tarefaBindingNavigatorSaveItem_Click(object sender, EventArgs e)
        {
            String descricao, grauTarefa, status, tipoTarefa, tituloTarefa;
            int prioridade, tempoEstimado, projeto_id, usuario_id;
            try
            {
                if ((tituloTarefaTextBox.Text != ""))
                {

                    ServiceReference1.Service1SoapClient x = new ServiceReference1.Service1SoapClient();
                    ServiceReference1.Tarefa t = new ServiceReference1.Tarefa();

                    //t.dataInicio = dataInicioDateTimePicker.Value.ToString();
                    //t.dataCadastro = dataCadastroDateTimePicker.Value.ToString();
                    //t.finalizado = false;
                    descricao = descricaoTextBox.Text;
                    grauTarefa = grauTarefaComboBox.SelectedItem.ToString();
                    //t.hora = 0;
                    //t.minuto = 0;
                    //t.porcentagem = 0;
                    prioridade = Convert.ToInt32(prioridadeTextBox.Text);
                    status = "Pausado";
                    tempoEstimado = Convert.ToInt32(tempoEstimadoTextBox.Text);
                    //t.tempoTotalTrabalho = 0;
                    tipoTarefa = tipoTarefaComboBox.SelectedItem.ToString();
                    tituloTarefa = tituloTarefaTextBox.Text;
                    projeto_id = int.Parse(comboBox1.SelectedValue.ToString());
                    usuario_id = int.Parse(comboBox2.SelectedValue.ToString());

                    x.InserirTarefa(descricao, grauTarefa, prioridade, status, tempoEstimado, tipoTarefa, tituloTarefa, projeto_id, usuario_id);
                    

                    //this.Validate();
                    //this.clienteBindingSource.EndEdit();
                    MessageBox.Show("Cadastro realizado com sucesso");
                    atualizarGrid();
                    //this.clienteTableAdapter.Update(this.pDSDDataSet.Cliente);
                }
                else
                {
                    MessageBox.Show("Todos os campos devem ser preenchidos");
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show("Não foi possível cadastrar: " + ex.Message);
            }

        }

        private void Tarefa_Load(object sender, EventArgs e)
        {
            // TODO: This line of code loads data into the 'pDSDDataSet.Projeto' table. You can move, or remove it, as needed.
            //this.projetoTableAdapter.Fill(this.pDSDDataSet.Projeto);
            // TODO: This line of code loads data into the 'pDSDDataSet.Tarefa' table. You can move, or remove it, as needed.
           // this.tarefaTableAdapter.Fill(this.pDSDDataSet.Tarefa);
            //atualizarGrid();
        }

        private void atualizarGrid()
        {
            ServiceReference1.Service1SoapClient x = new ServiceReference1.Service1SoapClient();
            tarefaDataGridView.DataSource = x.SelecionarTarefa();
        }

        private void toolStripButton1_Click(object sender, EventArgs e)
        {

            DialogResult resultado = MessageBox.Show("Deseja exluir esse registro?",
                                    "Excluir",
                                    MessageBoxButtons.YesNo,
                                    MessageBoxIcon.Question);

            if (resultado == DialogResult.Yes)
            {
                ServiceReference1.Service1SoapClient x = new ServiceReference1.Service1SoapClient();
                ServiceReference1.Tarefa t = new ServiceReference1.Tarefa();

                x.ExcluirTarefa(int.Parse(tarefaDataGridView.CurrentRow.Cells[0].Value.ToString()));
                MessageBox.Show("Tarefa excluída!");
                atualizarGrid();
            }
            else
            {
                atualizarGrid();
            }
 
        }

        private void tarefaDataGridView_CellContentClick(object sender, DataGridViewCellEventArgs e)
        {
            idTextBox.Text = tarefaDataGridView.CurrentRow.Cells[0].Value.ToString();
            tituloTarefaTextBox.Text = tarefaDataGridView.CurrentRow.Cells[3].Value.ToString();
            descricaoTextBox.Text = tarefaDataGridView.CurrentRow.Cells[4].Value.ToString();
            tempoEstimadoTextBox.Text = tarefaDataGridView.CurrentRow.Cells[5].Value.ToString();
            prioridadeTextBox.Text = tarefaDataGridView.CurrentRow.Cells[1].Value.ToString();
            
            
        }

        private void toolStripButton2_Click(object sender, EventArgs e)
        {
            String descricao, grauTarefa,tipoTarefa, tituloTarefa;
            int prioridade, tempoEstimado, projeto_id, usuario_id, id;
            try
            {
                if ((tituloTarefaTextBox.Text != ""))
                {

                    ServiceReference1.Service1SoapClient x = new ServiceReference1.Service1SoapClient();
                    ServiceReference1.Tarefa t = new ServiceReference1.Tarefa();

                    //t.dataInicio = dataInicioDateTimePicker.Value.ToString();
                    //t.dataCadastro = dataCadastroDateTimePicker.Value.ToString();
                    //t.finalizado = false;
                    descricao = descricaoTextBox.Text;
                    grauTarefa = grauTarefaComboBox.SelectedItem.ToString();
                    id = Convert.ToInt32(idTextBox.Text);
                    //t.hora = 0;
                    //t.minuto = 0;
                    //t.porcentagem = 0;
                    prioridade = Convert.ToInt32(prioridadeTextBox.Text);
                    //status = "Pausado";
                    tempoEstimado = Convert.ToInt32(tempoEstimadoTextBox.Text);
                    //t.tempoTotalTrabalho = 0;
                    tipoTarefa = tipoTarefaComboBox.SelectedItem.ToString();
                    tituloTarefa = tituloTarefaTextBox.Text;
                    projeto_id = int.Parse(comboBox1.SelectedValue.ToString());
                    usuario_id = int.Parse(comboBox2.SelectedValue.ToString());

                    x.AtualizarTarefa(id, descricao, grauTarefa, prioridade, tempoEstimado, tipoTarefa, tituloTarefa, projeto_id, usuario_id);


                    //this.Validate();
                    //this.clienteBindingSource.EndEdit();
                    MessageBox.Show("Atualização realizada com sucesso");
                    atualizarGrid();
                    //this.clienteTableAdapter.Update(this.pDSDDataSet.Cliente);
                }
                else
                {
                    MessageBox.Show("Erro");
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show("Não foi possível Editar: " + ex.Message);
            }
        }

        private void prioridadeTextBox_KeyPress(object sender, KeyPressEventArgs e)
        {
            if (char.IsLetter(e.KeyChar) || //Letras
            char.IsSymbol(e.KeyChar) || //Símbolos
            char.IsWhiteSpace(e.KeyChar) || //Espaço
            char.IsPunctuation(e.KeyChar)) //Pontuação
                e.Handled = true; //Não permitir
        }

        private void tempoEstimadoTextBox_KeyPress(object sender, KeyPressEventArgs e)
        {
            if (char.IsLetter(e.KeyChar) || //Letras
            char.IsSymbol(e.KeyChar) || //Símbolos
            char.IsWhiteSpace(e.KeyChar) || //Espaço
            char.IsPunctuation(e.KeyChar)) //Pontuação
                e.Handled = true; //Não permitir
        }

        private void btnPesquisar_Click(object sender, EventArgs e)
        {
            ServiceReference1.Service1SoapClient x = new ServiceReference1.Service1SoapClient();
            tarefaDataGridView.DataSource = x.BuscaTarefa(txtPesquisar.Text);
        }

       

    
    }
}
